

#ifndef	_CDELAYEDDELETELISTENER__H__
#define	_CDELAYEDDELETELISTENER__H__

#include "IListener.h"

class CObjectFactory;

/// \class CDelayedDeleteListener
/// \brief	This class defines the listener for Managers. 
///			Listener are really callback functions, in this case
class CDelayedDeleteListener : public IListener
{	
public:
	/// constructor for CDelayedDeleteListener class
	/// \param parent = CAIManager class for callbacks to recieve messages
	CDelayedDeleteListener(CObjectFactory *parent);
	/// \fn virtual void Init()
	/// \brief Function call back when system is being started up
	virtual bool Init(void);
	/// \fn virtual void Update()
	/// \brief Function call back when system is being updated
	/// \param - tickCount - current tick count
	virtual void Update(DWORD tickCount);
	/// \fn virtual void DeInit()
	/// \brief Function call back when system is being shutdown
	virtual bool DeInit(void);
	/// \fn virtual IHashString* GetName();
	/// \brief Function call back to get the name of the listener
	virtual IHashString* GetName();	
private:
	CObjectFactory *m_Parent;
};

#endif	// _CDELAYEDDELETELISTENER__H__